<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
	<title></title>
</head>
<body>
    JavaScript内置一个XMLHttpRequest对象，用于发起AJAX请求并处理AJAX响应。
    readyState：请求状态码。0（未初始） 1（开启） 2（传送） 3（接收中） 4（已载入）。
    status:HTTP请求状态码，如：404（找不到文件）200（OK）。
    abort():取消请求。
    open():准备请求，指定请求的类型，url及其他细节。
    send():传送请求，交给服务器处理。
    onreadystatechange:请求状态改变时会被调用的函数引用。
    responseText:由服务器返回的响应数据，格式为纯文本字符串。
    responseXML:由服务器返回的响应数据，格式为XML节点树构成的对象。
    AJAX请求类型：GET：主要用于从服务器取得数据，而不影响服务器上的其他东西。   POST：向服务器传送数据。传送后的服务器状态会有所改变，以响应传入的数据。
    send(type,url,handler,postDataType,postData):
        type:请求类型。url：服务器地址。handler:用于处理响应的回调函数。postDataType：被传送的数据类型（只用与POST）postData：被传送的数据（只用与POST）
</body>
<script type="text/javascript">
	// 自定义数据处理接口
	AjaxRequest.prototype.send = function(type,url,handler,postDataType,postData) {
		if(this.request != null){
			this.request = abort();

			url += "?dummy" + new Date().getTime();

			try{
				this.request.onreadystatechange = handler;
				this.request.open(type,url,true);

				if(type.toLowerCase() == "get") {
					this.request.send(null);
				}else{
					this.request.setRequestHeader("Content-Type",postDataType);
					this.request.send(postData);
				}
			}catch(e){
				alert("Ajax error communicating with the server.\n" + "Details:" + e);
			}
		}
	}
</script>
</html>